package com.woniuxy.Test;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

/**
 * @Author：向天浩
 * @Date：2022/1/21 11:09
 * @Description :关于ArrayList的底层操作原理
 */

public class ArrayListTest {
    public static void main(String[] args) {


        //新建一个数组
        int [] i={1,2,3,4,5,6};
        //在这个数组中，添加一个数字9，在下标3的位置
        //这样的话原来的数组长度就不够，我们就需要给复制一份这个数组并且增加数组长度

        //我们使用Arrays.copyOf的这个方法，它的意思是复制一个数组给到新的数组，而且我们还可以指定这个新数组长度
        //现在这个新的数组newi的元素有7个了，并且保留了i这个数组的所有元素
        int [] newi= Arrays.copyOf(i,7);

        //现在newi数组的内容是{1,2,3，4，5,6,0}我们将他从第三个下标开始包括第三个下标的元素全部复制到后面
        //使用 System.arraycopy这个方法(newi,3,newi,4,3);这些参数的含义是(当前数组，从第几个下标开始，目标数组，从第几个下标开始粘贴，需要复制过去的长度)
        //{1,2,3,4,5,6,0}//复制前
        //{1,2,3,4,4,5,6}//复制后
        System.arraycopy(newi,3,newi,4,3);
        newi[3]=9;
        for (int i1 : newi) {
            System.out.print(i1);
        }


    }
}
